package typedef

import "github.com/satori/go.uuid"

type ModuleInfo struct {
	ID        string   `json:"id"`
	Module    string   `json:"module"`
	SubModule []string `json:"submodule"`
	Enable    bool     `json:"enable"`
}

type ConfigInfo struct {
	Info   ModuleInfo             `json:"info"`
	Extend map[string]interface{} `json:"extend"`
}

type ModuleConfig struct {
	Module    string         `json:"module"`
	Enable    bool           `json:"enable"`
	SubModule []ModuleConfig `json:"submodule"`
}

type ExecutionConfig struct {
	Info   ModuleInfo     `json:"info"`
	Config []ModuleConfig `json:"config"`
}

func GetUUID() string {
	reqid, _ := uuid.NewV4()
	return reqid.String()
}
